home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 February: Tool Chest / Apple Developer CD Series Tool Chest February 1996 (Apple Computer)(1996).iso / Tool Chest / Interfaces & Libraries / Interfaces / PInterfaces / Displays.p < prev    next >
Encoding:
Text File  |  1995-07-06  |  22.0 KB  |  579 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        Displays.p
  3.  
  4.      Contains:    Display Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.1 in “MPW Latest” on ETO #18
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs@applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. }
  19.  
  20. {$IFC UNDEFINED UsingIncludes}
  21. {$SETC UsingIncludes := 0}
  22. {$ENDC}
  23.  
  24. {$IFC NOT UsingIncludes}
  25.  UNIT Displays;
  26.  INTERFACE
  27. {$ENDC}
  28.  
  29. {$IFC UNDEFINED __DISPLAYS__}
  30. {$SETC __DISPLAYS__ := 1}
  31.  
  32. {$I+}
  33. {$SETC DisplaysIncludes := UsingIncludes}
  34. {$SETC UsingIncludes := 1}
  35.  
  36.  
  37. {$IFC UNDEFINED __CONDITIONALMACROS__}
  38. {$I ConditionalMacros.p}
  39. {$ENDC}
  40.  
  41. {$IFC UNDEFINED __COMPONENTS__}
  42. {$I Components.p}
  43. {$ENDC}
  44. {    Types.p                                                        }
  45. {    MixedMode.p                                                    }
  46.  
  47. {$IFC UNDEFINED __VIDEO__}
  48. {$I Video.p}
  49. {$ENDC}
  50. {    Quickdraw.p                                                    }
  51. {        QuickdrawText.p                                            }
  52.  
  53. {$IFC UNDEFINED __APPLEEVENTS__}
  54. {$I AppleEvents.p}
  55. {$ENDC}
  56. {    Errors.p                                                    }
  57. {    Memory.p                                                    }
  58. {    OSUtils.p                                                    }
  59. {    Events.p                                                    }
  60. {    EPPC.p                                                        }
  61. {        AppleTalk.p                                                }
  62. {        Files.p                                                    }
  63. {            Finder.p                                            }
  64. {        PPCToolbox.p                                            }
  65. {        Processes.p                                                }
  66. {    Notification.p                                                }
  67.  
  68. {$IFC UNDEFINED __WINDOWS__}
  69. {$I Windows.p}
  70. {$ENDC}
  71. {    Controls.p                                                    }
  72. {        Menus.p                                                    }
  73.  
  74. {$IFC UNDEFINED __EVENTS__}
  75. {$I Events.p}
  76. {$ENDC}
  77.  
  78. {$IFC UNDEFINED __PROCESSES__}
  79. {$I Processes.p}
  80. {$ENDC}
  81.  
  82. {$IFC UNDEFINED __DIALOGS__}
  83. {$I Dialogs.p}
  84. {$ENDC}
  85. {    TextEdit.p                                                    }
  86.  
  87. {$PUSH}
  88. {$ALIGN MAC68K}
  89. {$LibExport+}
  90.  
  91. CONST
  92. { AppleEvents Core Suite }
  93.     kAESystemConfigNotice        = 'cnfg';
  94. { Core Suite types }
  95.     kAEDisplayNotice            = 'dspl';
  96.     kAEDisplaySummary            = 'dsum';
  97.     keyDMConfigVersion            = 'dmcv';
  98.     keyDMConfigFlags            = 'dmcf';
  99.     keyDMConfigReserved            = 'dmcr';
  100.     keyDisplayID                = 'dmid';
  101.     keyDisplayComponent            = 'dmdc';
  102.     keyDisplayDevice            = 'dmdd';
  103.     keyDisplayFlags                = 'dmdf';
  104.     keyDisplayMode                = 'dmdm';
  105.     keyDisplayModeReserved        = 'dmmr';
  106.     keyDisplayReserved            = 'dmdr';
  107.     keyDisplayMirroredId        = 'dmmi';
  108.     keyDeviceFlags                = 'dddf';
  109.     keyDeviceDepthMode            = 'dddm';
  110.     keyDeviceRect                = 'dddr';
  111.     keyPixMapRect                = 'dpdr';
  112.     keyPixMapHResolution        = 'dphr';
  113.     keyPixMapVResolution        = 'dpvr';
  114.     keyPixMapPixelType            = 'dppt';
  115.     keyPixMapPixelSize            = 'dpps';
  116.     keyPixMapCmpCount            = 'dpcc';
  117.     keyPixMapCmpSize            = 'dpcs';
  118.     keyPixMapAlignment            = 'dppa';
  119.     keyPixMapResReserved        = 'dprr';
  120.     keyPixMapReserved            = 'dppr';
  121.     keyPixMapColorTableSeed        = 'dpct';
  122.     keySummaryMenubar            = 'dsmb';
  123.     keySummaryChanges            = 'dsch';
  124.     keyDisplayOldConfig            = 'dold';
  125.     keyDisplayNewConfig            = 'dnew';
  126.  
  127.     dmOnlyActiveDisplays        = true;
  128.     dmAllDisplays                = false;
  129.  
  130. { Switch Flags }
  131.     kNoSwitchConfirmBit            = 0;                            { Flag indicating that there is no need to confirm a switch to this mode }
  132.     kDepthNotAvailableBit        = 1;                            { Current depth not available in new mode }
  133.     kShowModeBit                = 3;                            { Show this mode even though it requires a confirm. }
  134.     kModeNotResizeBit            = 4;                            { Do not use this mode to resize display (for cards that mode drives a different connector). }
  135.  
  136. {    Summary Change Flags (sticky bits indicating an operation was performed)
  137.     For example, moving a display then moving it back will still set the kMovedDisplayBit.
  138. }
  139.     kBeginEndConfigureBit        = 0;
  140.     kMovedDisplayBit            = 1;
  141.     kSetMainDisplayBit            = 2;
  142.     kSetDisplayModeBit            = 3;
  143.     kAddDisplayBit                = 4;
  144.     kRemoveDisplayBit            = 5;
  145.     kNewDisplayBit                = 6;
  146.     kDisposeDisplayBit            = 7;
  147.     kEnabledDisplayBit            = 8;
  148.     kDisabledDisplayBit            = 9;
  149.     kMirrorDisplayBit            = 10;
  150.     kUnMirrorDisplayBit            = 11;
  151.  
  152. { Notification Messages for extended call back routines }
  153.     kDMNotifyInstalled            = 1;                            { At install time }
  154.     kDMNotifyEvent                = 2;                            { Post change time }
  155.     kDMNotifyRemoved            = 3;                            { At remove time }
  156.     kDMNotifyPrep                = 4;                            { Pre change time }
  157.     kDMNotifyExtendEvent        = 5;                            { Allow registrees to extend apple event before it is sent }
  158.     kDMNotifyDependents            = 6;                            { Minor notification check without full update }
  159. { Notification Flags }
  160.     kExtendedNotificationProc    = 0+(1 * (2**(16)));
  161.  
  162. { types for notifyType }
  163.     kFullNotify                    = 0;                            { This is the appleevent whole nine yards notify }
  164.     kFullDependencyNotify        = 1;                            { Only sends to those who want to know about interrelated functionality (used for updating UI) }
  165.  
  166. { DisplayID/DeviceID constants }
  167.     kDummyDeviceID                = $0FF;                            { This is the ID of the dummy display, used when the last “real” display is disabled.}
  168.     kInvalidDisplayID            = $000;                            { This is the invalid ID}
  169.     kFirstDisplayID                = $100;
  170.  
  171. { bits for panelListFlags }
  172.     kAllowDuplicatesBit            = 0;
  173.  
  174. { Constants for fidelity checks }
  175.     kNoFidelity                    = 0;
  176.     kMinimumFidelity            = 1;
  177.     kDefaultFidelity            = 500;                            { I'm just picking a number for Apple default panels and engines}
  178.     kDefaultManufacturerFidelity = 1000;                        { I'm just picking a number for Manufacturer's panels and engines (overrides apple defaults)}
  179.  
  180.     kAnyPanelType                = 0;                            { Pass to DMNewEngineList for list of all panels (as opposed to specific types)}
  181.     kAnyEngineType                = 0;                            { Pass to DMNewEngineList for list of all engines}
  182.     kAnyDeviceType                = 0;                            { Pass to DMNewDeviceList for list of all devices}
  183.     kAnyPortType                = 0;                            { Pass to DMNewDevicePortList for list of all devices}
  184.  
  185. { portListFlags for DM_NewDevicePortList }
  186. { Should offline devices be put into the port list (such as dummy display) }
  187.     kPLIncludeOfflineDevicesBit    = 0;
  188.  
  189.     
  190. TYPE
  191.     DMFidelityType = LONGINT;
  192.  
  193. { AVID is an ID for ports and devices the old DisplayID type
  194.     is carried on for compatibility
  195. }
  196.     AVIDType = LONGINT;
  197.  
  198.     DisplayIDType = AVIDType;
  199.  
  200.     DMListType = Ptr;
  201.  
  202.     DMListIndexType = LONGINT;
  203.  
  204.     AVPowerStatePtr = Ptr;
  205.  
  206.     DMComponentListEntryRec = RECORD
  207.         itemID:                    DisplayIDType;                            { DisplayID Manager}
  208.         itemComponent:            Component;                                { Component Manager}
  209.         itemDescription:        ComponentDescription;                    { We can always construct this if we use something beyond the compontent mgr.}
  210.         itemClass:                ResType;                                { Class of group to put this panel (eg geometry/color/etc for panels, brightness/contrast for engines, video out/sound/etc for devices)}
  211.         itemFidelity:            DMFidelityType;                            { How good is this item for the specified search?}
  212.         itemSubClass:            ResType;                                { Subclass of group to put this panel.  Can use to do sub-grouping (eg volume for volume panel and mute panel)}
  213.         itemSort:                Point;                                    { Set to 0 - future to sort the items in a sub group.}
  214.         itemFlags:                LONGINT;                                { Set to 0 (future expansion)}
  215.         itemReserved:            ResType;                                { What kind of code does the itemReference point to  (right now - kPanelEntryTypeComponentMgr only)}
  216.         itemFuture1:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  217.         itemFuture2:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  218.         itemFuture3:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  219.         itemFuture4:            LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  220.     END;
  221.  
  222.     DMComponentListEntryPtr = ^DMComponentListEntryRec;
  223.  
  224. { ••• Move AVLocationRec to AVComponents.i AFTER AVComponents.i is created}
  225.     AVLocationRec = RECORD
  226.         locationConstant:        LONGINT;                                { Set to 0 (future expansion - probably an alternate code style)}
  227.     END;
  228.  
  229.     AVLocationPtr = ^AVLocationRec;
  230.  
  231.     DMDepthInfoRec = RECORD
  232.         depthSwitchInfo:        VDSwitchInfoPtr;                        { This is the switch mode to choose this timing/depth }
  233.         depthVPBlock:            VPBlockPtr;                                { VPBlock (including size, depth and format) }
  234.         depthFlags:                LONGINT;                                { Reserved }
  235.         depthReserved1:            LONGINT;                                { Reserved }
  236.         depthReserved2:            LONGINT;                                { Reserved }
  237.     END;
  238.  
  239.     DMDepthInfoPtr = ^DMDepthInfoRec;
  240.  
  241.     DMDepthInfoBlockRec = RECORD
  242.         depthBlockCount:        LONGINT;                                { How many depths are there? }
  243.         depthVPBlock:            DMDepthInfoPtr;                            { Array of DMDepthInfoRec }
  244.         depthBlockFlags:        LONGINT;                                { Reserved }
  245.         depthBlockReserved1:    LONGINT;                                { Reserved }
  246.         depthBlockReserved2:    LONGINT;                                { Reserved }
  247.     END;
  248.  
  249.     DMDepthInfoBlockPtr = ^DMDepthInfoBlockRec;
  250.  
  251.     DMDisplayModeListEntryRec = RECORD
  252.         displayModeFlags:        LONGINT;
  253.         displayModeSwitchInfo:    VDSwitchInfoPtr;
  254.         displayModeResolutionInfo: Ptr;
  255.         displayModeTimingInfo:    VDTimingInfoPtr;
  256.         displayModeDepthBlockInfo: DMDepthInfoBlockPtr;                    { Information about all the depths}
  257.         displayModeReserved:    Ptr;                                    { Reserved}
  258.         displayModeName:        ^Str255;                                { Name of the timing mode}
  259.     END;
  260.  
  261.     DMDisplayModeListEntryPtr = ^DMDisplayModeListEntryRec;
  262.  
  263.     DependentNotifyRec = RECORD
  264.         notifyType:                ResType;                                { What type was the engine that made the change (may be zero)}
  265.         notifyClass:            ResType;                                { What class was the change (eg geometry, color etc)}
  266.         notifyPortID:            DisplayIDType;                            { Which device was touched (kInvalidDisplayID -> all or none)}
  267.         notifyComponent:        ComponentInstance;                        { What engine did it (may be 0)?}
  268.         notifyVersion:            LONGINT;                                { Set to 0 (future expansion)}
  269.         notifyFlags:            LONGINT;                                { Set to 0 (future expansion)}
  270.         notifyReserved:            LONGINT;                                { Set to 0 (future expansion)}
  271.         notifyFuture:            LONGINT;                                { Set to 0 (future expansion)}
  272.     END;
  273.  
  274.     DependentNotifyPtr = ^DependentNotifyRec;
  275.  
  276. { Exports to support Interfaces library containing unused calls }
  277.     DMNotificationProcPtr = ProcPtr;  { PROCEDURE DMNotification(VAR theEvent: AppleEvent); }
  278.     DMExtendedNotificationProcPtr = ProcPtr;  { PROCEDURE DMExtendedNotification(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr); }
  279.     DMComponentListIteratorProcPtr = ProcPtr;  { PROCEDURE DMComponentListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr); }
  280.     DMDisplayModeListIteratorProcPtr = ProcPtr;  { PROCEDURE DMDisplayModeListIterator(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr); }
  281.     DMNotificationUPP = UniversalProcPtr;
  282.     DMExtendedNotificationUPP = UniversalProcPtr;
  283.     DMComponentListIteratorUPP = UniversalProcPtr;
  284.     DMDisplayModeListIteratorUPP = UniversalProcPtr;
  285.  
  286. CONST
  287.     uppDMNotificationProcInfo = $000000C0; { PROCEDURE (4 byte param); }
  288.     uppDMExtendedNotificationProcInfo = $00000EC0; { PROCEDURE (4 byte param, 2 byte param, 4 byte param); }
  289.     uppDMComponentListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  290.     uppDMDisplayModeListIteratorProcInfo = $00000FC0; { PROCEDURE (4 byte param, 4 byte param, 4 byte param); }
  291.  
  292. FUNCTION NewDMNotificationProc(userRoutine: DMNotificationProcPtr): DMNotificationUPP;
  293.     {$IFC NOT GENERATINGCFM }
  294.     INLINE $2E9F;
  295.     {$ENDC}
  296.  
  297. FUNCTION NewDMExtendedNotificationProc(userRoutine: DMExtendedNotificationProcPtr): DMExtendedNotificationUPP;
  298.     {$IFC NOT GENERATINGCFM }
  299.     INLINE $2E9F;
  300.     {$ENDC}
  301.  
  302. FUNCTION NewDMComponentListIteratorProc(userRoutine: DMComponentListIteratorProcPtr): DMComponentListIteratorUPP;
  303.     {$IFC NOT GENERATINGCFM }
  304.     INLINE $2E9F;
  305.     {$ENDC}
  306.  
  307. FUNCTION NewDMDisplayModeListIteratorProc(userRoutine: DMDisplayModeListIteratorProcPtr): DMDisplayModeListIteratorUPP;
  308.     {$IFC NOT GENERATINGCFM }
  309.     INLINE $2E9F;
  310.     {$ENDC}
  311.  
  312. PROCEDURE CallDMNotificationProc(VAR theEvent: AppleEvent; userRoutine: DMNotificationUPP);
  313.     {$IFC NOT GENERATINGCFM}
  314.     INLINE $205F, $4E90;
  315.     {$ENDC}
  316.  
  317. PROCEDURE CallDMExtendedNotificationProc(userData: UNIV Ptr; theMessage: INTEGER; notifyData: UNIV Ptr; userRoutine: DMExtendedNotificationUPP);
  318.     {$IFC NOT GENERATINGCFM}
  319.     INLINE $205F, $4E90;
  320.     {$ENDC}
  321.  
  322. PROCEDURE CallDMComponentListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; componentInfo: DMComponentListEntryPtr; userRoutine: DMComponentListIteratorUPP);
  323.     {$IFC NOT GENERATINGCFM}
  324.     INLINE $205F, $4E90;
  325.     {$ENDC}
  326.  
  327. PROCEDURE CallDMDisplayModeListIteratorProc(userData: UNIV Ptr; itemIndex: DMListIndexType; displaymodeInfo: DMDisplayModeListEntryPtr; userRoutine: DMDisplayModeListIteratorUPP);
  328.     {$IFC NOT GENERATINGCFM}
  329.     INLINE $205F, $4E90;
  330.     {$ENDC}
  331.  
  332. FUNCTION DMGetFirstScreenDevice(activeOnly: BOOLEAN): GDHandle;
  333.     {$IFC NOT GENERATINGCFM}
  334.     INLINE $7000, $ABEB;
  335.     {$ENDC}
  336. FUNCTION DMGetNextScreenDevice(theDevice: GDHandle; activeOnly: BOOLEAN): GDHandle;
  337.     {$IFC NOT GENERATINGCFM}
  338.     INLINE $7001, $ABEB;
  339.     {$ENDC}
  340. PROCEDURE DMDrawDesktopRect(VAR globalRect: Rect);
  341.     {$IFC NOT GENERATINGCFM}
  342.     INLINE $7002, $ABEB;
  343.     {$ENDC}
  344. PROCEDURE DMDrawDesktopRegion(globalRgn: RgnHandle);
  345.     {$IFC NOT GENERATINGCFM}
  346.     INLINE $7003, $ABEB;
  347.     {$ENDC}
  348. FUNCTION DMBeginConfigureDisplays(VAR displayState: Handle): OSErr;
  349.     {$IFC NOT GENERATINGCFM}
  350.     INLINE $303C, $0206, $ABEB;
  351.     {$ENDC}
  352. FUNCTION DMEndConfigureDisplays(displayState: Handle): OSErr;
  353.     {$IFC NOT GENERATINGCFM}
  354.     INLINE $303C, $0207, $ABEB;
  355.     {$ENDC}
  356. FUNCTION DMAddDisplay(newDevice: GDHandle; driver: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: LONGINT; displayComponent: Component; displayState: Handle): OSErr;
  357.     {$IFC NOT GENERATINGCFM}
  358.     INLINE $303C, $0D08, $ABEB;
  359.     {$ENDC}
  360. FUNCTION DMMoveDisplay(moveDevice: GDHandle; x: INTEGER; y: INTEGER; displayState: Handle): OSErr;
  361.     {$IFC NOT GENERATINGCFM}
  362.     INLINE $303C, $0609, $ABEB;
  363.     {$ENDC}
  364. FUNCTION DMDisableDisplay(disableDevice: GDHandle; displayState: Handle): OSErr;
  365.     {$IFC NOT GENERATINGCFM}
  366.     INLINE $303C, $040A, $ABEB;
  367.     {$ENDC}
  368. FUNCTION DMEnableDisplay(enableDevice: GDHandle; displayState: Handle): OSErr;
  369.     {$IFC NOT GENERATINGCFM}
  370.     INLINE $303C, $040B, $ABEB;
  371.     {$ENDC}
  372. FUNCTION DMRemoveDisplay(removeDevice: GDHandle; displayState: Handle): OSErr;
  373.     {$IFC NOT GENERATINGCFM}
  374.     INLINE $303C, $040C, $ABEB;
  375.     {$ENDC}
  376. FUNCTION DMSetMainDisplay(newMainDevice: GDHandle; displayState: Handle): OSErr;
  377.     {$IFC NOT GENERATINGCFM}
  378.     INLINE $303C, $0410, $ABEB;
  379.     {$ENDC}
  380. FUNCTION DMSetDisplayMode(theDevice: GDHandle; mode: LONGINT; VAR depthMode: LONGINT; reserved: LONGINT; displayState: Handle): OSErr;
  381.     {$IFC NOT GENERATINGCFM}
  382.     INLINE $303C, $0A11, $ABEB;
  383.     {$ENDC}
  384. FUNCTION DMCheckDisplayMode(theDevice: GDHandle; mode: LONGINT; depthMode: LONGINT; VAR switchFlags: LONGINT; reserved: LONGINT; VAR modeOk: BOOLEAN): OSErr;
  385.     {$IFC NOT GENERATINGCFM}
  386.     INLINE $303C, $0C12, $ABEB;
  387.     {$ENDC}
  388. FUNCTION DMGetDeskRegion(VAR desktopRegion: RgnHandle): OSErr;
  389.     {$IFC NOT GENERATINGCFM}
  390.     INLINE $303C, $0213, $ABEB;
  391.     {$ENDC}
  392. FUNCTION DMRegisterNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  393.     {$IFC NOT GENERATINGCFM}
  394.     INLINE $303C, $0414, $ABEB;
  395.     {$ENDC}
  396. FUNCTION DMRemoveNotifyProc(notificationProc: DMNotificationUPP; whichPSN: ProcessSerialNumberPtr): OSErr;
  397.     {$IFC NOT GENERATINGCFM}
  398.     INLINE $303C, $0415, $ABEB;
  399.     {$ENDC}
  400. FUNCTION DMQDIsMirroringCapable(VAR qdIsMirroringCapable: BOOLEAN): OSErr;
  401.     {$IFC NOT GENERATINGCFM}
  402.     INLINE $303C, $0216, $ABEB;
  403.     {$ENDC}
  404. FUNCTION DMCanMirrorNow(VAR canMirrorNow: BOOLEAN): OSErr;
  405.     {$IFC NOT GENERATINGCFM}
  406.     INLINE $303C, $0217, $ABEB;
  407.     {$ENDC}
  408. FUNCTION DMIsMirroringOn(VAR isMirroringOn: BOOLEAN): OSErr;
  409.     {$IFC NOT GENERATINGCFM}
  410.     INLINE $303C, $0218, $ABEB;
  411.     {$ENDC}
  412. FUNCTION DMMirrorDevices(gD1: GDHandle; gD2: GDHandle; displayState: Handle): OSErr;
  413.     {$IFC NOT GENERATINGCFM}
  414.     INLINE $303C, $0619, $ABEB;
  415.     {$ENDC}
  416. FUNCTION DMUnmirrorDevice(gDevice: GDHandle; displayState: Handle): OSErr;
  417.     {$IFC NOT GENERATINGCFM}
  418.     INLINE $303C, $041A, $ABEB;
  419.     {$ENDC}
  420. FUNCTION DMGetNextMirroredDevice(gDevice: GDHandle; VAR mirroredDevice: GDHandle): OSErr;
  421.     {$IFC NOT GENERATINGCFM}
  422.     INLINE $303C, $041B, $ABEB;
  423.     {$ENDC}
  424. FUNCTION DMBlockMirroring: OSErr;
  425.     {$IFC NOT GENERATINGCFM}
  426.     INLINE $701C, $ABEB;
  427.     {$ENDC}
  428. FUNCTION DMUnblockMirroring: OSErr;
  429.     {$IFC NOT GENERATINGCFM}
  430.     INLINE $701D, $ABEB;
  431.     {$ENDC}
  432. FUNCTION DMGetDisplayMgrA5World(VAR dmA5: Ptr): OSErr;
  433.     {$IFC NOT GENERATINGCFM}
  434.     INLINE $303C, $021E, $ABEB;
  435.     {$ENDC}
  436. FUNCTION DMGetDisplayIDByGDevice(displayDevice: GDHandle; VAR displayID: DisplayIDType; failToMain: BOOLEAN): OSErr;
  437.     {$IFC NOT GENERATINGCFM}
  438.     INLINE $303C, $051F, $ABEB;
  439.     {$ENDC}
  440. FUNCTION DMGetGDeviceByDisplayID(displayID: DisplayIDType; VAR displayDevice: GDHandle; failToMain: BOOLEAN): OSErr;
  441.     {$IFC NOT GENERATINGCFM}
  442.     INLINE $303C, $0520, $ABEB;
  443.     {$ENDC}
  444. FUNCTION DMSetDisplayComponent(theDevice: GDHandle; displayComponent: Component): OSErr;
  445.     {$IFC NOT GENERATINGCFM}
  446.     INLINE $303C, $0421, $ABEB;
  447.     {$ENDC}
  448. FUNCTION DMGetDisplayComponent(theDevice: GDHandle; VAR displayComponent: Component): OSErr;
  449.     {$IFC NOT GENERATINGCFM}
  450.     INLINE $303C, $0422, $ABEB;
  451.     {$ENDC}
  452. FUNCTION DMNewDisplay(VAR newDevice: GDHandle; driverRefNum: INTEGER; mode: LONGINT; reserved: LONGINT; displayID: DisplayIDType; displayComponent: Component; displayState: Handle): OSErr;
  453.     {$IFC NOT GENERATINGCFM}
  454.     INLINE $303C, $0D23, $ABEB;
  455.     {$ENDC}
  456. FUNCTION DMDisposeDisplay(disposeDevice: GDHandle; displayState: Handle): OSErr;
  457.     {$IFC NOT GENERATINGCFM}
  458.     INLINE $303C, $0424, $ABEB;
  459.     {$ENDC}
  460. FUNCTION DMResolveDisplayComponents: OSErr;
  461.     {$IFC NOT GENERATINGCFM}
  462.     INLINE $7025, $ABEB;
  463.     {$ENDC}
  464. FUNCTION DMRegisterExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; nofifyOnFlags: INTEGER; whichPSN: ProcessSerialNumberPtr): OSErr;
  465.     {$IFC NOT GENERATINGCFM}
  466.     INLINE $303C, $07EF, $ABEB;
  467.     {$ENDC}
  468. FUNCTION DMRemoveExtendedNotifyProc(notifyProc: DMExtendedNotificationUPP; notifyUserData: UNIV Ptr; whichPSN: ProcessSerialNumberPtr; removeFlags: INTEGER): OSErr;
  469.     {$IFC NOT GENERATINGCFM}
  470.     INLINE $303C, $0726, $ABEB;
  471.     {$ENDC}
  472. FUNCTION DMNewAVPanelList(displayID: DisplayIDType; panelType: ResType; minimumFidelity: DMFidelityType; panelListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  473.     {$IFC NOT GENERATINGCFM}
  474.     INLINE $303C, $0C27, $ABEB;
  475.     {$ENDC}
  476. FUNCTION DMNewAVEngineList(displayID: DisplayIDType; engineType: ResType; minimumFidelity: DMFidelityType; engineListFlags: LONGINT; reserved: LONGINT; VAR engineCount: DMListIndexType; VAR engineList: DMListType): OSErr;
  477.     {$IFC NOT GENERATINGCFM}
  478.     INLINE $303C, $0C28, $ABEB;
  479.     {$ENDC}
  480. FUNCTION DMNewAVDeviceList(deviceType: ResType; deviceListFlags: LONGINT; reserved: LONGINT; VAR deviceCount: DMListIndexType; VAR deviceList: DMListType): OSErr;
  481.     {$IFC NOT GENERATINGCFM}
  482.     INLINE $303C, $0A29, $ABEB;
  483.     {$ENDC}
  484. FUNCTION DMNewAVPortListByPortType(subType: ResType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  485.     {$IFC NOT GENERATINGCFM}
  486.     INLINE $303C, $0A2A, $ABEB;
  487.     {$ENDC}
  488. FUNCTION DMGetIndexedComponentFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMComponentListIteratorUPP; userData: UNIV Ptr): OSErr;
  489.     {$IFC NOT GENERATINGCFM}
  490.     INLINE $303C, $0A2B, $ABEB;
  491.     {$ENDC}
  492. FUNCTION DMDisposeList(panelList: DMListType): OSErr;
  493.     {$IFC NOT GENERATINGCFM}
  494.     INLINE $303C, $022C, $ABEB;
  495.     {$ENDC}
  496. FUNCTION DMGetNameByAVID(theID: AVIDType; nameFlags: LONGINT; VAR name: Str255): OSErr;
  497.     {$IFC NOT GENERATINGCFM}
  498.     INLINE $303C, $062D, $ABEB;
  499.     {$ENDC}
  500. FUNCTION DMNewAVIDByPortComponent(thePortComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: AVIDType): OSErr;
  501.     {$IFC NOT GENERATINGCFM}
  502.     INLINE $303C, $082E, $ABEB;
  503.     {$ENDC}
  504. FUNCTION DMGetPortComponentByAVID(thePortID: DisplayIDType; VAR thePortComponent: Component; VAR theDesciption: ComponentDescription; VAR thePortKind: ResType): OSErr;
  505.     {$IFC NOT GENERATINGCFM}
  506.     INLINE $303C, $082F, $ABEB;
  507.     {$ENDC}
  508. FUNCTION DMSendDependentNotification(notifyType: ResType; notifyClass: ResType; displayID: AVIDType; notifyComponent: ComponentInstance): OSErr;
  509.     {$IFC NOT GENERATINGCFM}
  510.     INLINE $303C, $0A30, $ABEB;
  511.     {$ENDC}
  512. FUNCTION DMDisposeAVComponent(theAVComponent: Component): OSErr;
  513.     {$IFC NOT GENERATINGCFM}
  514.     INLINE $303C, $0231, $ABEB;
  515.     {$ENDC}
  516. FUNCTION DMSaveScreenPrefs(reserved1: LONGINT; saveFlags: LONGINT; reserved2: LONGINT): OSErr;
  517.     {$IFC NOT GENERATINGCFM}
  518.     INLINE $303C, $0632, $ABEB;
  519.     {$ENDC}
  520. FUNCTION DMNewAVIDByDeviceComponent(theDeviceComponent: Component; portKind: ResType; reserved: LONGINT; VAR newID: DisplayIDType): OSErr;
  521.     {$IFC NOT GENERATINGCFM}
  522.     INLINE $303C, $0833, $ABEB;
  523.     {$ENDC}
  524. FUNCTION DMNewAVPortListByDeviceAVID(theID: AVIDType; minimumFidelity: DMFidelityType; portListFlags: LONGINT; reserved: LONGINT; VAR devicePortCount: DMListIndexType; VAR theDevicePortList: DMListType): OSErr;
  525.     {$IFC NOT GENERATINGCFM}
  526.     INLINE $303C, $0C34, $ABEB;
  527.     {$ENDC}
  528. FUNCTION DMGetDeviceComponentByAVID(theDeviceID: AVIDType; VAR theDeviceComponent: Component; VAR theDesciption: ComponentDescription; VAR theDeviceKind: ResType): OSErr;
  529.     {$IFC NOT GENERATINGCFM}
  530.     INLINE $303C, $0835, $ABEB;
  531.     {$ENDC}
  532. FUNCTION DMNewDisplayModeList(displayID: DisplayIDType; modeListFlags: LONGINT; reserved: LONGINT; VAR thePanelCount: DMListIndexType; VAR thePanelList: DMListType): OSErr;
  533.     {$IFC NOT GENERATINGCFM}
  534.     INLINE $303C, $0A36, $ABEB;
  535.     {$ENDC}
  536. FUNCTION DMGetIndexedDisplayModeFromList(panelList: DMListType; itemIndex: DMListIndexType; reserved: LONGINT; listIterator: DMDisplayModeListIteratorUPP; userData: UNIV Ptr): OSErr;
  537.     {$IFC NOT GENERATINGCFM}
  538.     INLINE $303C, $0A37, $ABEB;
  539.     {$ENDC}
  540. FUNCTION DMGetGraphicInfoByAVID(theID: AVIDType; VAR theAVPcit: PicHandle; VAR theAVIconSuite: Handle; VAR theAVLocation: AVLocationRec): OSErr;
  541.     {$IFC NOT GENERATINGCFM}
  542.     INLINE $303C, $0838, $ABEB;
  543.     {$ENDC}
  544. FUNCTION DMGetAVPowerState(theID: AVIDType; getPowerState: AVPowerStatePtr; reserved1: LONGINT): OSErr;
  545.     {$IFC NOT GENERATINGCFM}
  546.     INLINE $303C, $0839, $ABEB;
  547.     {$ENDC}
  548. FUNCTION DMSetAVPowerState(theID: AVIDType; setPowerState: AVPowerStatePtr; powerFlags: LONGINT; displayState: Handle): OSErr;
  549.     {$IFC NOT GENERATINGCFM}
  550.     INLINE $303C, $083A, $ABEB;
  551.     {$ENDC}
  552. FUNCTION DMGetDeviceAVIDByPortAVID(portAVID: AVIDType; VAR deviceAVID: AVIDType): OSErr;
  553.     {$IFC NOT GENERATINGCFM}
  554.     INLINE $303C, $043B, $ABEB;
  555.     {$ENDC}
  556. FUNCTION DMGetEnableByAVID(theAVID: AVIDType; VAR isAVIDEnabledNow: BOOLEAN; VAR canChangeEnableNow: BOOLEAN): OSErr;
  557.     {$IFC NOT GENERATINGCFM}
  558.     INLINE $303C, $063C, $ABEB;
  559.     {$ENDC}
  560. FUNCTION DMSetEnableByAVID(theAVID: AVIDType; doEnable: BOOLEAN; displayState: Handle): OSErr;
  561.     {$IFC NOT GENERATINGCFM}
  562.     INLINE $303C, $053D, $ABEB;
  563.     {$ENDC}
  564. FUNCTION DMGetDisplayMode(theDevice: GDHandle; switchInfo: VDSwitchInfoPtr): OSErr;
  565.     {$IFC NOT GENERATINGCFM}
  566.     INLINE $303C, $043E, $ABEB;
  567.     {$ENDC}
  568.  
  569. {$ALIGN RESET}
  570. {$POP}
  571.  
  572. {$SETC UsingIncludes := DisplaysIncludes}
  573.  
  574. {$ENDC} {__DISPLAYS__}
  575.  
  576. {$IFC NOT UsingIncludes}
  577.  END.
  578. {$ENDC}
  579.